用gdb调试单个程序,多线程,多进程 |
您所在的位置:网站首页 › gdb调试 多线程 › 用gdb调试单个程序,多线程,多进程 |
GDB调试程序
在linux中使用gdb调试时我们可以在编译的时候加上-g即可。如果你用一个makefile文件做处理,只需要在里面加上调试信息。gdb调试的是正在运行的程序,而不是我们已经编写好的.c文件。 如果我们没有添加-g,编译完成后我们可以用ls -l 来查看程序的大小,此时main的大小为5000 bt:函数调用栈关系 n:单目执行,往下走 s:进入函数 p d:打印出d所对应的值 finish:快速退出 c:一直往下走,知道遇到断点停止 q:退出调试 在多线程环境下调试程序,我们首先在main函数中创建两个线程pthread_one,pthread_two thread 1 切换到线程1,thread 2切换到线程2,以此类推 给函数加断点 首先写一个进程,然后让它fork出一个子进程:我们将打印出子进程的ID和子进程的父进程ID,同时睡眠一秒打印出父进程的ID和父进程的父进程ID(bash) 打印结果如下: 用show指令查看show follow-fork-mode[parent|child]和detach-on-fork[on|off]当前状态
此时*停留在num 3上,我们可以通过inferior +数字来切换进程 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |